package com.TP.www.service;

import com.TP.www.dao.impl.AppraiseDAO;
import com.TP.www.po.Appraise;
import com.TP.www.po.Order;

import java.util.List;

import static com.TP.www.constant.Constant.*;


/**
 * @author 邱彦祥
 * 评论接口
 */
public interface AppraisePort {

    /**
     * 在订单收货后，用户对店铺进行评论
     * @param order 订单
     */
    void addAppraise(Order order);

    /**
     * 删除评论
     * @param appraise 评论
     */
    void removeAppraise(Appraise appraise);

    /**
     * 获取选择
     * @param maxNum 选择最大值
     * @return 选择序号
     */
    static int getChoose(int maxNum){
        while (true){
            try{
                String num;
                System.out.println("请输入要删除的评论序号(按0返回上一级):");
                num = SYS_SC.nextLine();
                while(Integer.parseInt(num) < 0 || Integer.parseInt(num) >= maxNum){
                    System.out.println("输入有误！请重新输入....");
                    num = SYS_SC.nextLine();
                }
                return Integer.parseInt(num);
            }catch (NumberFormatException e){
                System.out.println("输入有误！请重新输入....");
            }
        }
    }

    /**
     *  通过id来获取评论列表
     * @param sql 查询语句
     * @param id 当前用户id
     * @return 评论列表
     */
    static List<Appraise> getAppraiseById(String sql, int id){
        return new AppraiseDAO().executeQuery(sql,id);
    }

    /**
     *  通过店铺id来获取评论列表
     * @param sql 查询语句
     * @param id 店铺id
     * @return 评论列表
     */
    static List<Appraise> getAppraiseByStoreId(String sql, int id){
        return new AppraiseDAO().executeQuery(sql,id);
    }
}
